package com.youdoneed.friends.query;

import com.querydsl.core.types.Path;
import com.querydsl.core.types.PathMetadata;
import com.querydsl.core.types.dsl.DateTimePath;
import com.querydsl.core.types.dsl.NumberPath;
import com.querydsl.core.types.dsl.StringPath;
import com.querydsl.sql.ColumnMetadata;
import com.youdoneed.friends.model.CommentsTemplate;

import javax.annotation.Generated;
import java.sql.Types;

import static com.querydsl.core.types.PathMetadataFactory.forVariable;

/**
 * QCommentsTemplate is a Querydsl query type for CommentsTemplate
 */
@Generated("com.querydsl.sql.codegen.MetaDataSerializer")
public class QCommentsTemplate extends com.querydsl.sql.RelationalPathBase<CommentsTemplate> {

    private static final long serialVersionUID = -1943889849;

    public static final QCommentsTemplate CommentsTemplate = new QCommentsTemplate("CommentsTemplate");

    public final StringPath content = createString("content");

    public final DateTimePath<java.sql.Timestamp> createTime = createDateTime("createTime", java.sql.Timestamp.class);

    public final NumberPath<Integer> sort = createNumber("sort", Integer.class);

    public final StringPath templateId = createString("templateId");

    public final StringPath userId = createString("userId");

    public final com.querydsl.sql.PrimaryKey<CommentsTemplate> primary = createPrimaryKey(templateId);

    public QCommentsTemplate(String variable) {
        super(CommentsTemplate.class, forVariable(variable), "null", "CommentsTemplate");
        addMetadata();
    }

    public QCommentsTemplate(String variable, String schema, String table) {
        super(CommentsTemplate.class, forVariable(variable), schema, table);
        addMetadata();
    }

    public QCommentsTemplate(String variable, String schema) {
        super(CommentsTemplate.class, forVariable(variable), schema, "CommentsTemplate");
        addMetadata();
    }

    public QCommentsTemplate(Path<? extends CommentsTemplate> path) {
        super(path.getType(), path.getMetadata(), "null", "CommentsTemplate");
        addMetadata();
    }

    public QCommentsTemplate(PathMetadata metadata) {
        super(CommentsTemplate.class, metadata, "null", "CommentsTemplate");
        addMetadata();
    }

    public void addMetadata() {
        addMetadata(content, ColumnMetadata.named("content").withIndex(3).ofType(Types.VARCHAR).withSize(255).notNull());
        addMetadata(createTime, ColumnMetadata.named("create_time").withIndex(4).ofType(Types.TIMESTAMP).withSize(19).notNull());
        addMetadata(sort, ColumnMetadata.named("sort").withIndex(5).ofType(Types.INTEGER).withSize(10).notNull());
        addMetadata(templateId, ColumnMetadata.named("template_id").withIndex(1).ofType(Types.VARCHAR).withSize(32).notNull());
        addMetadata(userId, ColumnMetadata.named("user_id").withIndex(2).ofType(Types.VARCHAR).withSize(36));
    }

}

